<?php
/////////////////////////////////////////////////////////////////////////////
// 
//
// workflow_system 
//
// workflow_copyright
// 
/////////////////////////////////////////////////////////////////////////////

/**
 * FILE_NAME : settreelist.class.php   FILE_PATH : \classes\libraries\settreelist.class.php
 * ....将多维数组整理为数型结构的类
 * categoryview.class.php中的类不是很通用，这个类可以通用的使用
 *
 * @copyright workflow_system 
 * @author workflow Develop Team 
 * @package 
 * @subpackage 
 * @version Mon Sep 10 12:09:55 CST 2007
 */

class SetTreeList{
	/**
	 * 得到树型结构
	 *
	 * @param int $id   父级ID
	 * @param var[] $node    需要变为树型结构的数组
	 * @param int $depth    第几级 
	 * @param string $last   树型结构的最后一个的符号
	 * @param string $repeat   树型结构重复部分的符号
	 * @param var[] $key_array    array(父ID，ID，名称);
	 * @return var[]
	 */
	function get_page_children($id,$node,$depth=0,$last,$repeat,$key_array){
		$depth++;
		$tree_list = array();
		if (is_array($node)){
			foreach ($node as $leap )
			{
				if ($leap[$key_array[0]] == $id)
				{
					$leap['depth'] = $depth - 1;
					$tree_list[] = $leap;
					if ( $children = $this->get_page_children($leap[$key_array[1]], $node,$depth,$last,$repeat,$key_array))
					{
						$tree_list = array_merge($tree_list, $children);
					}
				}
			}
		}
		$i = 0 ;

		foreach($tree_list as $key=>$val) {
			
			foreach($val as $k=>$v){
				if ($key_array[2] == "$k"){
					//$item = str_repeat($repeat,$val['depth']);
					$treeListArray[$i][$k] = $item.$last.$val[$k];
				}else{
					$treeListArray[$i][$k] = $val[$k];
				}
			}
			/*
			$treeListArray[$i][id]       = $val[id];
			$treeListArray[$i][name]     = $item.$last.$val[name];
			$treeListArray[$i][parentId]     = $val[parentId];
			*/
			$i++;
		}
		//print_r($treeListArray);
		return $treeListArray;
	}
}
?>